package com.bjut.vendormgrsys.web.dto.user;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import org.springframework.validation.annotation.Validated;

/**
 * UserSearch
 */
@Data
@Validated
public class UserSearch   {
  @Schema(description = "")
  @JsonProperty("key")
  private String key = null;

  @Schema(description = "")
  @JsonProperty("name")
  private String name = null;

  @Schema(description = "")
  @JsonProperty("status")
  private String status = null;

  @Schema(description = "")
  @JsonProperty("email")
  private String email = null;

  @Schema(description = "")
  @JsonProperty("phone")
  private String phone = null;

  @Schema(description = "")
  @JsonProperty("userRole")
  private String userRole = null;

  @Schema(description = "")
  @JsonProperty("enterpriseName")
  private String enterpriseName = null;

  @JsonProperty("auditsStatus")
  private String auditsStatus = null;

  @Schema(description = "")
  @JsonProperty("pageSize")
  private Integer pageSize = null;

  @Schema(description = "")
  @JsonProperty("pageNum")
  private Integer pageNum = null;

  public UserSearch() {
  }

  public UserSearch key(String key) {
    this.key = key;
    return this;
  }

  public UserSearch name(String name) {
    this.name = name;
    return this;
  }

  public UserSearch status(String status) {
    this.status = status;
    return this;
  }

  public UserSearch email(String email) {
    this.email = email;
    return this;
  }

  public UserSearch phone(String phone) {
    this.phone = phone;
    return this;
  }

  public UserSearch userRole(String userRole) {
    this.userRole = userRole;
    return this;
  }

  public UserSearch enterpriseName(String enterpriseName) {
    this.enterpriseName = enterpriseName;
    return this;
  }

  public UserSearch pageSize(Integer pageSize) {
    this.pageSize = pageSize;
    return this;
  }

  public UserSearch pageNum(Integer pageNum) {
    this.pageNum = pageNum;
    return this;
  }


  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(java.lang.Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }

    protected boolean canEqual(final Object other) {
    return other instanceof UserSearch;
  }

}
